home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-06-22 | 73.9 KB | 1,912 lines |
- Sat Jun 23 00:06:35 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Version 1.3.
-
- * du.c (count_entry) [HPUX_NFS_BUG]: If the size of the file
- according to the number of blocks reported is twice or more than
- the size of the file according to the number of bytes
- reported, halve the number of blocks.
-
- Fri Jun 22 00:38:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * tac.c: Change +regexp to +regex for consistency with GNU find.
-
- * cp.c (copy_dir): Initialize 'ret' to 0.
-
- * cp.c (main), ln.c (main), mv.c (main), rm.c (main):
- Make -i override -f and -o, to be conservative about
- removing peoples' files.
-
- * mkdir.c (make_path), mkfifo.c (make_path): Don't try to stat
- "" or "/".
-
- * rm.c, rmdir.c, mkdir.c, mkfifo.c: Move code to remove
- slashes at the end of an arg from main to
- strip_trailing_slashes.
-
- * install.c (strip): Print error message if the `strip'
- program can't be run.
-
- * system.h (convert_blocks): Macro moved from du.c and ls.c.
- Take a second parameter indicating whether to convert to
- kilobytes or 512 byte blocks.
- * ls.c, du.c: Pass second parameter to convert_blocks.
-
- Thu Jun 21 01:19:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ls.c (print_long_format): Use mode_string instead of
- filemodestring.
-
- * ls.c (print_long_format): Compare times as longs, not ints.
- (longdiff): Macro to compare two longs efficiently if sizeof
- int == sizeof long and less efficiently but correctly if they
- are different sizes.
- (compare_ctime, etc.): Use longdiff.
-
- * ls.c (decode_switches): Make -k not imply -s, to allow the
- summary directory size printed by -l to be in 1k blocks
- without having the size of each file printed as well.
- (convert_blocks): Provide for systems with a blocksize that is
- other than 512 or 1024 bytes.
-
- * du.c (main): Exit with status 0 normally.
- (convert_blocks): Provide for systems with a blocksize that is
- other than 512 or 1024 bytes.
-
- Wed Jun 20 01:46:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cat.c (cat): If FIONREAD is available, only use it if it is
- supported by the filesystem that the file is on.
-
- * ln.c (do_link): Take out code to give an error if source and
- dest are the same file. The dubious usefulness of the special
- case to prevent 'ln x x' from removing 'x' (ln -i can be used
- instead) is not worth preventing 'ln x y' from failing the
- second time in a row, and appears to contradict POSIX anyway.
-
- Mon Jun 18 02:48:17 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * ls.c (print_file_name_and_frills,
- length_of_file_name_and_frills, print_long_format):
- Allow 6 digits for i-number, not 5.
-
- Sun Jun 17 00:09:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * install.c (install_dir): Don't check whether "" or the root
- directory exists (the former fails on some systems).
-
- * system.h: Make inclusion of sys/file.h conditional on USG
- and _POSIX_SOURCE, not DIRENT.
-
- * chmod.c (change_dir_mode): Use xrealloc instead of free and
- xmalloc in case malloc already left extra room.
- (xrealloc): New function.
-
- * rm.c (clear_directory): Prevent buffer overruns.
- More efficient string handling. Don't skip rest of directory
- if continuing after finding circular inode.
- (xrealloc): New function.
-
- Sat Jun 16 01:45:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * argmatch.c (invalid_arg): Change order in which the items
- are printed.
-
- * ls.c: Add +tabsize (-T) option.
-
- Fri Jun 15 23:40:55 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * dd.c (scanargs): For ibs and obs, set C_HARDWAY.
- (copy): Use different buffers only if C_HARDWAY, not if
- blocksizes are the same, to ensure constant output block sizes.
-
- Wed Jun 13 23:56:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * savedir.c: New file from code in chmod.c, modified to
- prevent buffer overruns.
- * chmod.c (change_dir_mode), cp.c (copy_dir), du.c
- (count_entry): Use savedir.
-
- Thu Jun 7 03:52:02 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * system.h (ST_BLKSIZE) [!STBLOCKS_MISSING]: If st_blksize is
- 0 (as on pipe reads on some systems), use BSIZE instead.
- Define BSIZE as DEV_BSIZE if necessary.
-
- * Makefile, system.h, fileblocks.c: Use STBLOCKS_MISSING to
- control whether st_blksize and st_blocks are used.
- * Makefile, system.h, backupfile.c: Use DIRENT to control
- whether <dirent.h> is used.
-
- Sun Jun 3 20:26:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cat.c (main): Add a variable to control whether the check
- for input file == output file is made, because no values of
- st_dev and st_ino should be assumed to be available for this
- purpose. Only do the check for regular files.
-
- * tac.c: Use bcopy instead of memcpy.
-
- Thu May 31 00:55:36 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * fileblocks.c: New file.
- * du.c (blocks_to_kb): Replace with convert_blocks macro.
- (main): Recognize new -k option.
- (usage): Document it.
- * ls.c (nblocks): Replace with convert_blocks macro.
- * system.h (ST_BLKSIZE) [USG]: Use BSIZE from sys/param.h instead of
- having the user define BLKSIZE.
- (ST_NBLOCKS) [USG]: Use st_blocks from fileblocks.c.
-
- * head.c: Use longs instead of ints for file offsets, for 16
- bit machines.
-
- * cat.c, chmod.c, cmp.c, cp.c, cp.h, create.c, dd.c, dirlib.c,
- du.c, head.c, system.h, backupfile.c, ln.c, ls.c, install.c,
- mkdir.c, mkfifo.c, modechange.c, mv.c, mv_dir.c, rm.c,
- rmdir.c, tail.c, tac.c: Optionally use ANSI C and POSIX header files.
-
- Wed May 23 00:40:39 1990 David J. MacKenzie (djm at apple-gunkies)
-
- * argmatch.c: New file, taken from ls.c.
- * getversion.c (get_version): Use argmatch, to allow
- abbreviations. Default backup type is existing_numbered.
- * mv.c (main), ln.c (main), cp.c (main): Only make backups if
- -b (+backup) is given. If envar SIMPLE_BACKUP_SUFFIX is set,
- use it as a default instead of `~'.
- * mv.c (usage), ln.c (usage), cp-aux.c (usage): Update messages.
-
- Tue May 22 00:56:51 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * install.c: New file (from ../bin-src).
-
- * cmp.c: Change some ints to longs for 16 bit machines.
- (bcmp_cnt): Make char-pointer counting slightly simpler.
-
- * dd.c (copy): Don't count completely failed writes as partial
- writes. Make buffers unsigned. If blocking or unblocking,
- pad final partial buffer if necessary.
-
- * getversion.c: New file.
- * mv.c (main), cp.c (main), ln.c (main): Control backup types
- with getenv ("VERSION_CONTROL") and +version-control or -V.
-
- * cp.c (yesno), mv.c (yesno), ln.c (yesno): Stop reading if
- EOF reached as well as at newline.
-
- * backupfile.[ch]: Rename var `version_control' to `backup_type'.
-
- Sat May 19 00:16:50 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * mv.c (main), ln.c (main), cp.c (main): Revise
- backup-creation options.
- * mv.c (usage), ln.c (usage), cp-aux.c (usage): Revise messages.
-
- * chmod.c (describe_change): Use mode_string instead of
- filemodestring.
-
- * cp.c (main): Recognize new options for making backups.
- * cp.c (copy): Make backups if requested. Fix typo.
- * cp-aux.c (usage): Update message.
-
- * mv.c, cp.c: Remove code to conditionally use utimes instead
- of utime, since the extra resolution of utimes was not being
- used, the emulation overhead is probably insignificant,
- and utime is a standard function.
-
- * cp-hash.c: Fix up comments.
-
- Fri May 18 23:06:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * mv.c (do_move): Only make backup if dest file exists.
- Don't continue moving file if dest can't be backed up.
- * ln.c (do_link): Don't try to unlink dest if it was backed up.
- Don't continue moving file if dest can't be backed up.
-
- * system.h: Make SIGTYPE default to void if not defined.
-
- * modechange.[ch]: Rename struct and external functions to start
- with 'mode_'.
- * modechange.c (oatoi): Make static.
- (mode_compile): Take an additional arg indicating which
- symbolic operators should be affected by the umask.
- * modechange.h: Add defines for mode_compile arg mask.
- If __STDC__, use prototypes.
- * chmod.c, mkdir.c, mkfifo.c, create.c: Account for above changes.
-
- Tue May 15 16:17:34 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * dd.c (copy): Quit with nonzero status if final write fails.
-
- Mon May 14 14:34:10 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * tac.c, regex.c, regex.h: New files.
-
- * dd.c: Make translation tables unsigned.
- (main): Give `input_file' and `output_file' nonzero values for
- stdin and stdout.
- (parse_conversion): Set new global vars 'space_character' and
- 'newline_character' to correct values when translating to EBCDIC
- (either flavor).
- (copy): Use 'space_character' and 'newline_character' instead
- of hardcoded ASCII values. Ignore attempts to seek on output pipe,
- socket, or fifo. If possible, seek instead of reading to skip
- initial input records. Sync with `space_character' instead of
- nulls, for POSIX.
-
- * cp.c (copy_reg): Compare lseek values as longs, not ints.
-
- Sat May 12 01:16:42 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp-hash (remember_created): Return error status instead of
- fatal error.
- * cp.c (copy): Change caller.
- (do_copy, copy_reg): Return error status instead of fatal error.
-
- * cat.c (main): Allow input file to be output file for devices
- (ttys, etc.). Check whether input file is output file when
- reading standard input. Print any error messages for standard
- input.
-
- * cmp.c (bcmp_cnt): Handle int comparisons correctly on 16 bit
- machines as well as 32 bit ones.
- * cmp.c, tail.c, ls.c, cp.c, du.c: Use longs instead of ints
- for file offsets.
-
- * Move rename emulation from mv.c to dirlib.c so other
- programs can use it.
- * mv.c, ln.c (main): Recognize new options for making backups.
- * mv.c (do_move), ln.c (do_link): Make backups if requested.
- * mv.c, ln.c (usage): Update message.
- * backupfile.c, backupfile.h: New files.
-
- * cp.h: Ifdef out decl of umask because of SunOS 4.1 (POSIX) conflict.
-
- * Define all `main' functions as returning void.
-
- Fri May 11 02:11:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ln.c, mv.c, rm.c, rmdir.c, create.c, chmod.c: Change some
- error messages.
-
- * cmp.c: Fix some exit statuses for POSIX.
-
- * du.c, cmp.c, cat.c, cp-aux.c (error): Function removed.
- Change callers to use error.c version.
- * cp.c (copy, do_copy, copy_dir): Return an error status.
- * ls.c (error, fatal, perror_with_name): Functions removed.
- Change callers to use error.c.
-
- Tue May 8 03:41:42 1990 David J. MacKenzie (djm at abyss)
-
- * tac.c: Use regular expressions as the record boundaries.
- Give better error messages.
- Reformat code and make it more readable.
- (main): Use getopt_long to parse options.
- (tac_stdin): Do not make a temporary file if standard input
- is a file.
- (tac_file): New function.
- (tac): Take an open file desc as an arg.
- (output): Rewrite to use its own efficient buffering.
- (xmalloc, xrealloc, xwrite): New functions.
-
- Sat May 5 23:46:48 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ln.c (do_link): Don't allow trying to link a file to itself,
- because the source file would be removed if they are the same
- directory entry, and also for consistency with mv and cp.
-
- Fri May 4 13:42:53 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp.c (copy_reg): Only write a null to the end of the file if
- the end of the file was sparse.
-
- * ls.c (print_name_with_quoting): Make the char to print
- unsigned to prevent sign extension problems with -b.
-
- Fri Apr 20 13:52:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Version 1.2 released.
-
- Wed Apr 18 14:36:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Makefile: Use chsize for ftruncate on Xenix.
-
- * cp.c (copy): Remove broken code that attempted to
- substitute for ftruncate on systems missing it.
-
- Mon Apr 16 13:58:01 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp-aux.c (usage): Fix mistake in message.
-
- * Version 1.1 released.
-
- Sat Apr 14 17:23:11 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ls.c (main): Don't remove leading path from program_name.
- (basename): Function removed.
- (length_of_file_name_and_frills): Don't add 1 for type indicator
- for block and character special files.
-
- Thu Apr 12 19:50:15 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Makefile: Suggest using -DBLKSIZE=512 instead of 1024 for USG.
-
- * dd.c (copy): Print copying statistics when exiting because
- of a read or seek error.
- (interrupt_handler): New function.
- (main): Trap SIGINT to run interrupt_handler, for POSIX.
-
- Tue Apr 10 01:09:38 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * chmod.c (change_file_mode): Don't change the mode of
- symbolic links.
-
- Mon Apr 9 13:30:00 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * modechange.c (compile_mode): Return an error if an octal
- number argument is too large.
-
- Sun Apr 8 20:33:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * dd.c: Use `error' instead of `fatal' and `pfatal_with_name',
- for greater control of the message format.
- * head.c, tail.c: Use `error' instead of `fatal_perror' and
- `nonfatal_perror'. Remove some unnecessary info from messages.
- * chmod.c, create.c, ln.c, mkdir.c, mkfifo.c, mv.c, mv_dir.c,
- rm.c, rmdir.c: Remove definition of `error'.
- * error.c: New file created from code in mv.c.
- * Makefile: Link the above programs with error.o.
-
- * ln.c (do_link): Use eaccess_stat to determine writability.
- * mv.c (do_move): Ditto.
- * rm.c (remove_file): Ditto.
- (remove_dir): Use eaccess_stat to determine readability and
- searchability. Move initial interactive query here from
- clear_directory.
- * Makefile: Link ln, mv, and rm with eaccess.o.
-
- Sat Apr 7 11:47:52 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Makefile: Link cp with eaccess.o.
- * eaccess.c: New file adapted from code in cp.c and cp-aux.c.
- * cp.c (copy): Use eaccess_stat to determine writability.
- Consider a file unwritable by root if it has no permissions.
- (main): Remove groups initialization code.
- * cp-aux.c (member): Function deleted.
-
- * cp.c (copy): Temporarily change the mode of directories if
- necessary to overwrite them when running recursively.
- Consider a directory to be non-overwritable if it lacks write
- permission as well as if it lacks execute permission.
-
- * cat.c (main), cp.c (copy_reg): Don't check error from close,
- because we know the arg is good and so it cannot fail.
-
- * rm.c, mv.c, mv_dir.c, chmod.c, create.c, ln.c: Remove some
- irrelevant or redundant information from error messages.
-
- Fri Apr 6 15:20:45 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp.c (copy): Only change mode of regular files and directories;
- others are already correct.
-
- Thu Apr 5 04:31:56 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * dd.c: Remove the vars that are set by command line options
- from a useless struct and give them more meaningful names.
-
- Mon Apr 2 02:58:34 1990 David J. MacKenzie (djm at spike.ai.mit.edu)
-
- * cp.c (main): Use NGROUPS from sys/param.h to determine
- whether BSD multiple groups are supported and how large to
- make the array.
- * Makefile: Remove references to GETGROUPS_MISSING.
-
- Sun Apr 1 18:53:57 1990 David J. MacKenzie (djm at spike.ai.mit.edu)
-
- * cp.c (main): Always initialize group info.
-
- Sat Mar 31 22:29:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * mkfifo.c, create.c, mv_dir.c: New files.
- * Makefile: Add rules for them.
- * mv.c [RENAME_MISSING] (rename): To rename directories, run
- setuid root mv_dir program.
-
- Sun Mar 18 01:02:39 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ln.c (strip_trailing_slashes): New function.
- (main, do_link): Call it.
-
- * cp-aux.c (strip_trailing_slashes): New function.
- * cp.c (do_copy): Call it.
- * cp.h: Declare it.
-
- * mv.c (strip_trailing_slashes): New function.
- (main, movefile): Call it.
-
- Sat Mar 17 21:45:35 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp-aux.c, cp.h: Rename user_confirm_overwriting to yesno and
- don't have it print a prompt, so it can be used in several
- places.
-
- * cp.c (do_copy): Change an error message to resemble mv's.
- Remove all trailing slashes from all non-option args.
- (main): Set new global var `stdin_not_tty'.
- (copy): Use POSIX method of handling file overwriting and
- prompting.
-
- * dirlib.c (mkdir): Use chmod to set the directory mode after
- successful creation, so set[ug]id and sticky bits are set
- correctly.
-
- Thu Mar 15 12:33:23 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Makefile: Add commented out definitions for SCO Xenix.
-
- * ls.c (print_type_indicator): Don't print a '*' next to
- executable block or character special files.
-
- * chmod.c (error): New function, replacing nonfatal_perror,
- memory_out, and invalid_mode.
- Global: Call error instead of the above functions.
- (change_dir_mode): Make the new size of the path twice the
- size of the name that was too long, rather than twice its old
- size.
-
- * rm.c: Move interactive query about whether to remove a
- directory from remove_dir to clear_directory; only query for
- directories that are not empty.
-
- Wed Mar 14 10:48:40 1990 David J. MacKenzie (djm at rice-chex)
-
- * system.h [USG]: Define X_OK.
-
- * rm.c (main): Set new global var `stdin_not_tty'.
- (rm): Most of code moved to two new functions, remove_file and
- remove_dir.
- (remove_file): Use POSIX method of determining whether to remove
- non-directories.
- (remove_dir): Use POSIX method of determining whether to
- remove directories, almost.
- (perror_with_name): Function removed.
- (error): Simple version replaced with more powerful version.
- Global: Change calls to fprintf, perror_with_name, and old
- error to calls to new error.
-
- * ln.c (main): Set new global var `stdin_not_tty'.
- If force, turn off interactive.
- (do_link): By default, don't allow hard links to symbolic links to
- directories. Use POSIX method of determining whether to
- overwrite destination.
- (yesno): Function renamed from confirm, and arg removed.
- (lisdir): Function removed.
-
- * mv.c (main): Set new global var `stdin_not_tty'.
- (yesno): Function renamed from yes.
- (do_move): Use POSIX method of determining whether to
- overwrite destination.
-
- * Makefile: Make executables depend on .o files, not .c files,
- to allow for parallel compilation.
-
- * cmp.c (main, cmp, usage): Replace -q +quick option with -L
- +show-chars option to add ASCII representation of bytes to -l format.
-
- Tue Mar 13 00:50:14 1990 David J. MacKenzie (djm at rice-chex)
-
- * rm.c (main): Disallow removal of paths that have '..' as the
- final element.
- (basename): New function.
-
- * ls.c (print_type_indicator): Mark FIFOs with '|' and sockets
- with '='.
- (print_long_format): Print numbers as unsigned and add extra
- space for POSIX flag.
-
- * dd.c: Make the record counts unsigned.
- (quit): Print them as unsigned.
-
- * cmp.c (cmp): Change EOF message for POSIX compatibility.
- For -l format, clear bits > FF.
-
- * modechange.c (compile_mode): Only get umask value when needed.
- If users are not given or are `a', affect set?id and sticky bits.
- If memory is exhausted while allocating a new list element,
- free the old elements before returning.
-
- * Makefile (CC): Add comment noting that either fixincludes or
- -traditional needs to be used for gcc to compile ioctl calls
- correctly.
-
- Fri Mar 9 10:25:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * chmod.c (main): Recognize "a,+-=" as valid options.
-
- * mv.c: Move the code to copy files across filesystems from
- do_move to a new function, copy, which will eventually be
- replaced with modules from cp and rm (POSIX requires mv to
- move directories recursively across filesystems).
- (do_move): Don't query about overriding a mode that prohibits
- writing if interactive. Remove unneeded variable.
- (copy): Unlink target if copy fails partway through.
-
- Thu Mar 8 10:56:16 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp.c (copy): Don't remove a destination file of a different
- type unless +force is given.
-
- * ls.c (decode_switches, usage): Add -U (for "unsorted") as an
- equivalent to +sort=none.
-
- Mon Mar 5 17:21:00 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * tail.c: Move global `errors' into main instead of having
- nonfatal_perror set it.
- (tail, tail_chars, tail_file, tail_lines, pipe_chars, pipe_lines):
- Return an error status.
- (file_lines, start_chars, start_lines): Reverse the meaning of
- the return value.
- (tail_lines, tail_chars): Account for that reversal.
-
- Mon Mar 5 16:31:14 1990 Torbj|rn Granlund (tege at echnaton)
-
- * cp.c (copy): Test for temporarily modified permission mode
- after the other test, so that `-p' work for files whose mode
- needed a temporary mode change.
- * cp.c (copy): Don't waste time calling unlink if we already
- know that the destination doesn't exists.
- * cp.c (comment before do_copy): Correct.
- * cp.c (comment before copy): Describe all params.
- * cp.c (copy): Only change permission mode for regular files
- and directories.
- * cp.c (copy): Unlink the destination file if its type is
- different from the source. If the destination is a
- directory, error.
-
- Mon Mar 5 00:34:36 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * chmod.c (nonfatal_perror): Don't check for force_silent.
- (change_file_mode, change_dir_mode): If force_silent, don't
- print error messages.
-
- * mv.c (main): If force, turn off interactive.
- (do_move): Simplify check for query. Rename `stb' to
- `to_stats' and `stbf' to `from_stats'.
- Return error condition if original file could not be renamed or
- unlinked.
-
- * rm.c: Rename global `force_flag' to `ignore_errors' and change its
- meaning so that it does not overlap with `override_mode'.
- (main): Have -f +force set override_mode. If override_mode is
- set, turn off interactive.
- (rm): Simplify checks for whether to query the user, based on
- the new relationship between override_mode and interactive.
-
- * head.c: Move global `errors' into main and have the various
- functions return an error status instead of setting it in
- nonfatal_perror.
-
- Sun Mar 4 23:39:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ln.c (main): Reword an error message to be more like mv's.
-
- * rmdir.c: Move global `errors' into main instead of having
- error set it.
-
- * mkdir.c: Move global `errors' into main and have make_path
- return an error status instead of having error set it.
-
- * chmod.c: Move global `errors' into main and have
- change_file_mode and change_dir_mode return an error status
- instead of setting it in nonfatal_perror.
-
- Sat Mar 3 13:59:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ln.c (main): Don't strip leading dirs from argv[0].
-
- * ln.c (confirm), mv.c (yes, do_move),
- cp-aux.c (user_confirm_overwriting), rm.c (rm, yesno, check_stack):
- Print query messages to stderr instead of stdout, for POSIX.
- Include program name in messages.
-
- Sat Mar 3 11:27:27 1990 Torbj|rn Granlund (tege at echnaton)
-
- * cmp.c (cmp): Call function bcmp_cnt for flag == 0 (i.e. no
- options specified), to compare the two blocks and count
- newlines simultaneously.
- * cmp.c New function: bcmp_cnt.
-
- * cmp.c (main): Test if output is redirected to /dev/null, and
- assume `-s' if this is so.
-
- * cp.c (copy): Don't unlink directories with flag_force
- (`-f'). Also avoid using force when not necessary.
- Always copy fifo's and symbolic links as themselves.
-
- * cp.c (copy_reg): Make int scan first, char scan then, to
- find frist non-zero byte. This to avoid false hole
- creation.
-
- Sat Mar 3 10:22:28 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * mv.c: Rename `pgm' to `program_name'. Move global `errors'
- into main. Have do_move and movefile return an error status
- instead having error set it. Remove global vars `args'
- and `args_left'.
- (main): Rename `ac' and `av' to `argc' and `argv' and use them
- and `optind' instead of `args' and `args_left'.
-
- * cp.c (copy): Don't ignore errors other than EPERM from chown.
-
- Fri Mar 2 16:20:57 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * rm.c (main, usage): Allow -R as a synonym for -r, for POSIX.
-
- * cp.c (copy): If flag_preserve, preserve the owner and group
- if possible, as well as mode.
- (main): Allow -R as a synonym for -r option, for POSIX.
- * cp-aux.c (usage): Mention -R.
-
- Tue Feb 27 11:49:04 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp.c (copy): If not recursive, copy special files and
- symlinks like regular files and omit fifos.
-
- Mon Feb 26 19:55:24 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * ls.c (print_long_format): If time is in the future, print
- the year.
- Make the cutoff for old files 6 months not 300 days.
-
- Mon Feb 26 15:03:29 1990 Torbj|rn Granlund (tege at echnaton)
-
- * cp.c (copy): Test for recursive copy in DIR alternative in
- the switch statement, so all file types are copied correctly
- even in a non-recursive copy.
- * cp.c (copy): Return after having created a symlink, since
- chmod and utimes dereference, and would affect the symlink
- target. Remove test for symlinks after switch.
-
- Sun Feb 25 18:31:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Makefile: Compile ls after vdir so systems with a cc that
- can't do -c -o don't have to compile ls.c twice for ls.
-
- * dd.c (usage): Add braces around alternatives.
-
- * ls.c (print_long_format): Always print the group, for POSIX.
- (decode_switches): Make -g option a no-op for BSD users.
- (usage): Remove +group option.
-
- * cat.c (main, usage): Add -c option, identical to -s, for
- POSIX. Alphabetize short options.
-
- Wed Feb 21 11:13:26 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ln.c (error): New function.
- (main, do_link): Call error instead of fprintf and exit.
- (main): Recognize new -d +directory option to allow superuser to
- make hard links to dirs, like the BSD ln -f option.
- (do_link): Don't allow hard links to dirs (they are hard to
- get rid of -- rmdir and unlink don't do it), unless -d was given.
- (usage): Mention -d +directory option.
-
- * rmdir.c (main): Remove trailing slashes from args (added by
- shell file completion but the rmdir syscall can't handle them).
- * mkdir.c (main): Remove trailing slashes from args, for
- uniformity with rmdir (you can't do file completion on dirs
- that haven't been made yet . . .).
-
- * mv.c: Rename global var `nargs' to `args_left' to avoid
- conflict with undocumented BSD libc function (the new name is
- clearer, anyway).
-
- Tue Feb 20 17:09:19 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * dd.c: Use new global var `program_name' in error messages
- instead of hardcoded "dd".
- (main): Set program_name from argv[0].
-
- * chmod.c, head.c, tail.c (main): Don't strip leading dirs
- from argv[0].
- (basename): Function removed.
-
- * rm.c (main): Don't strip leading dirs from argv[0].
-
- * cat.c: Change `argbad' from a char to a short, so it will
- work on machines with unsigned chars.
-
- Mon Feb 19 14:34:18 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * rm.c (main): Strip trailing slashes from each arg.
-
- Thu Feb 15 13:23:52 1990 David J. MacKenzie (djm at rice-chex)
-
- * Makefile [HPUX CFLAGS]: Add -DUTIMES_MISSING.
-
- Wed Feb 14 15:01:18 1990 David J. MacKenzie (djm at rice-chex)
-
- * Makefile (dist): Don't make a non-compressed tar file.
-
- * mv.c (do_move): Refuse to copy non-regular files across filesystems.
-
- Mon Feb 12 11:30:45 1990 David J. MacKenzie (djm at rice-chex)
-
- * ln.c (do_link): Check error return from unlink.
- Include errno.h.
-
- * du.c (main): Check error return from stat.
- (str_copyc, str_concatc): Don't return a value, since it is
- ignored.
-
- * cp.c (copy): Check error return from unlink and chmod. Fix
- typo in call to error.
-
- * mv.c (do_move): Check error return of fchmod/chmod and utime[s].
- (rename): Check error return of unlink.
-
- * Makefile Definitions of preprocessor macros moved from
- cp.c and mv.c. HAVE_FTRUNCATE changed to FTRUNCATE_MISSING.
- * Makefile, dirlib.c: NEED_MKDIR changed to MKDIR_MISSING.
- * mv.c, cp.c: Change USG ifdefs to UTIMES_MISSING.
-
- Sun Feb 11 17:50:29 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * chmod.c (usage): Add yet another ellipsis.
-
- Sun Feb 11 16:41:30 1990 Jim Kingdon (kingdon at pogo.ai.mit.edu)
-
- * cp.c (copy_reg): Use HAVE_FTRUNCATE to decide whether to
- use ftruncate().
- (main): Use GETGROUPS_MISSING to decide whether to use getgroups().
- [hpux || !USG]: Define HAVE_FTRUNCATE.
- [USG && !hpux]: Define GETGROUPS_MISSING.
- mv.c (rename): Put in #ifdef RENAME_MISSING not #ifdef USG.
- (do_move): Use FCHMOD_MISSING to decide whether to use fchmod().
- [USG && !hpux]: Define FCHMOD_MISSING and RENAME_MISSING.
-
- Sat Feb 10 02:16:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cmp.c (cmp): Rename `r' to `first_diff', and `x' to `smaller'.
- Remove unneccessary variable `c1'. If -l was given, increase
- `char_number' by the number of bytes read, after producing output,
- rather than by the offset of the first differing bytes, before
- producing output.
- Replace if-else-if constructions with case statements for clarity.
- (bcmp2): Rename `n' to `nread'.
-
- Fri Feb 9 10:25:03 1990 David J. MacKenzie (djm at rice-chex)
-
- * mv.c (movefile): Remove trailing slashes from FROM (some
- filename completion systems add them for dirs, and they cause
- the rename syscall to fail).
-
- Thu Feb 8 22:50:12 1990 Torbj|rn Granlund (tege at sics.se)
-
- * cp.c (copy_reg): Change error handling after lseek, since
- this is a fatal error. Also change error message to
- something more generally understood.
- * Handle files that end in a zero block on USG systems.
-
- * cp-aux.c (error): Use FATAL to recog fatal errs.
-
- Thu Feb 8 21:25:40 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ln.c: Remove incorrect comment.
-
- * cp.c, cp-aux.c (usage): Change +dereference option to
- +no-dereference, since dereferencing is done by default and
- the option turns it off.
-
- Mon Feb 5 17:29:20 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * Version 1.0 released.
-
- * Move discussion of missing tail -r option from tail.c to README.
-
- Sun Feb 4 02:23:01 1990 David J. MacKenzie (djm at rice-chex)
-
- * Makefile: Note that _doprnt seems to be broken on the sparc.
- Get rid of separate defaults for USG and BSD because the
- distinction is blurry.
-
- Sat Feb 3 04:03:32 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * cp.c (do_copy, copy, copy_dir): Rename `new_structure' to `new_dst'.
- (copy): If unlink because of flag_force succeeds, make new_dst
- nonzero. Fix wrong comment.
-
- * mkdir.c, rmdir.c: Replace functions fatal, nonfatal, and
- nonfatal_perror with function error, and rename global var
- `status' to `errors'.
-
- Fri Feb 2 11:15:18 1990 David J. MacKenzie (djm at rice-chex)
-
- * rm.c (main): Recognize new -o option to attempt to override
- protection of unwritable files, bypassing the query while
- still providing error messages.
- (rm): Don't ask question if -o was given.
- (usage): Mention -o +override option.
-
- * chmod.c (main): Recognize new -d option to dereference symlinks,
- setting xstat to stat or lstat appropriately.
- (change_file_mode): Use *xstat instead of lstat.
- (usage): Mention -d option.
-
- * chmod.c (nonfatal_perror): Set `errors' to 1 instead of
- incrementing it.
-
- * mv.c (error): New function to print message and set `errors'.
- (do_move): Call error instead of fprintf and perror.
- (perror): Function definition (for USG) removed.
- (main): Use new global var `errors' for exit status.
- (Makefile): Mention that -DVPRINTF might be needed for USG.
-
- Thu Feb 1 15:50:12 1990 David J. MacKenzie (djm at rice-chex)
-
- * chmod.c (main): Use new global var `errors' for exit status.
- (nonfatal_perror): Increment `errors'.
-
- Wed Jan 31 18:59:03 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ls.c (decode_switches, usage): Change -z option to -S (to
- sort by file size), removing the old meaning of -S (don't
- sort) since it will be wanted rarely enough that +sort=none
- will suffice. If I think of a good letter for it I might put
- the short option for it back.
- (fatal, error): Change type of arg1 and arg2 to char * from int.
- (decode_switches, xmalloc, xrealloc): Add casts to calls of fatal.
-
- * Makefile (mkdir): Had CFLAGS, wanted LDFLAGS.
-
- Tue Jan 30 00:48:46 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * head.c, tail.c, mkdir.c, rmdir.c, dd.c, ls.c: Start all error
- messages with lowercase, for consistency.
-
- * rm.c (rm, clear_directory): Use the existing global var `pathname'
- instead of passing the path to remove as an argument, so that
- if `pathname' is reallocated, the old copy of `pathname' does
- not have to be left around for instances of the rm function
- that have not returned yet, and eventually lost and never freed.
- (rm): Pass pointer to stat structure as arg to clear_directory.
- (clear_directory): Take a pointer to a stat structure as an
- arg. Copy the directory contents into two buffers before
- processing them, so excessive file descriptors are not
- consumed. Move the call to check_stack to after the new
- pathname has been constructed, so any error message printed by
- check_stack is accurate.
- (check_stack): Take an i-number instead of a struct direct *
- as an argument. Remove the check for 'this should never happen'.
- (stp_cpy): New function.
-
- * ls.c: Add -S +sort=none option to disable sorting of
- filenames. Remove long options that are redundant with +sort,
- +format, or +time to make the option set easier to comprehend.
- (decode_switches): Handle -S option.
- (sort_files): Handle case sort_none.
- (usage): Update message.
-
- Mon Jan 29 14:25:47 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * chmod.c (nonfatal_perror): Add arg for describing the
- circumstances in which the error occurred.
- (change_file_mode, change_dir_mode): Add new arg to calls of
- nonfatal_perror.
- (change_dir_mode): Add arg for results of stat on the
- directory. Read the directory into a buffer before processing
- its contents so excessive file descriptors are not consumed.
- (change_file_mode): Add new arg to call of change_dir_mode.
- (stp_cpy): New function.
-
- * rm.c (clear_directory): If errno is set after failed
- opendir, print the system error message.
-
- Fri Jan 26 14:03:12 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * dd.c (pfatal_with_name): Add program name to error message,
- and rearrange message.
- (main, copy): Make error messages clearer.
-
- * rm.c (perror_with_name): Add an argument for describing the
- circumstances in which the error occurred.
- (rm): Add the new argument to perror_with_name calls.
-
- Thu Jan 25 15:11:16 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * ls.c (usage): Mention +format=long and +time=use options.
-
- * ln.c (do_link): Use lstat instead of access when testing for
- the existance of the target file, in case the target is a
- symlink.
-
- * dd.c (main, usage): Remove conv=debug option. gdb is more useful.
-
- * du.c (usage, main): Alphabetize the options.
-
- Wed Jan 24 10:34:27 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * dd.c, du.c, mv.c, rm.c: Change some functions' return types to void.
-
- * cp.c, cp-aux.c, cp-hash.c: Remove void casts and indent.
-
- * dd.c: Un-nest some statements, make comments into full
- sentences, indent.
- (copy): Add program name and explanations to perror messages.
- (pfatal_with_name): Print filename on stderr, not stdout.
-
- * cmp.c: Un-nest some statements, indent.
- (main): Change an error message.
-
- * dirlib.c: Make compilation conditional on NEED_MKDIR instead
- of USG.
- * Makefile: Document NEED_MKDIR.
-
- * rm.c (clear_directory): Account for '/' and '\0' when
- checking whether length of `pathname' is sufficient.
-
- Mon Jan 22 00:32:09 1990 David J. MacKenzie (djm at albert.ai.mit.edu)
-
- * README: New file.
- * Makefile: Include README in distribution.
-
- Sun Jan 21 00:40:56 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * system.h [USGr3]: If DIRSIZ is already defined, don't
- redefine it.
-
- * Makefile: Add linking rules for cat, cmp, du, head, ln, mv,
- and tail, for the sake of old makes that don't understand
- ".c:" default rules. Alphabetize the linking rules. Add
- INSTALL macro for program to install binaries in BIN
- directory.
-
- * cat.c, cp.c, du.c, ln.c, ls.c, mv.c: Remove declarations
- of alloca; already done in system.h.
-
- Tue Jan 16 23:10:17 1990 David J. MacKenzie (djm at rice-chex)
-
- * Makefile: Fix a couple of typos.
-
- Mon Jan 15 01:22:31 1990 David J. MacKenzie (djm at rice-chex)
-
- * rmdir.c: New file, including -p option for POSIX.
-
- Sun Jan 14 21:04:11 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * Makefile: Remove rules for making rmdir.o from rm.c.
- Add rmdir.c to distribution.
-
- * rm.c: Remove support for compiling as rmdir. It was messy
- to begin with, and would have gotten worse when the POSIX -p
- option was added to rmdir. Remove -D, +debug option and add -v,
- +verbose option. Change some error messages.
-
- Sat Jan 13 00:14:05 1990 David J. MacKenzie (djm at rice-chex)
-
- * dirlib.c: New file containing mkdir and rmdir functions for
- old USG systems (empty for BSD).
- * Makefile: Ensure that /bin/sh is the shell used. Omit
- references to defining USG2, as it is no longer used.
- Break down LIBS into LIBOBJS and LIBS, for versions of make
- that don't correctly handle dependencies on -lfoo.
- (dir.o, vdir.o, rmdir.o): Add commented out alternate
- rules for compilers that can't do -c -o.
- (install): Use cp -f instead of cp. Instead of copying d and
- v, link them.
- (mkdir, cp, rmdir): Depend on dirlib.o.
- (dist): Add dirlib.c to list of files to distribute.
-
- Fri Jan 12 00:58:18 1990 David J. MacKenzie (djm at rice-chex)
-
- * chmod.c (describe_change): Remove the word `file' from the
- messages, since it could be misleading when describing
- directories and other non-regular files.
-
- * mv.c (do_move): Don't use access to determine writability of
- symlinks, as it will return invalid results.
-
- Thu Jan 11 00:51:17 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * chmod.c, head.c, ls.c, tail.c (main, usage): Remove
- version numbers for individual programs, as they have become
- fairly meaningless.
-
- Wed Jan 10 02:34:19 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * chmod.c (change_file_mode, nonfatal_perror): Fix enum type clashes.
-
- * cat.c: Rename swallow_empty_lines_after_empty_lines to
- squeeze_empty_lines for old compilers (sheesh!).
-
- * cp.c (copy): Change xstat () to (*xstat) () for old compilers.
-
- * system.h: Declare getcwd if USG. Use USGr3 and SYSNDIR
- instead of NDIR macro to determine directory routines header
- file, for compatibility with glob.c.
-
- * Makefile: Revise comments for USG.
-
- * mv.c (perror): Declare external errno vars.
- (do_move): Use lstat rather than stat and access.
-
- * ls.c (usage): Split message into two for old compilers.
-
- Thu Jan 4 01:02:59 1990 David J. MacKenzie (djm at gnu)
-
- * cp.h: Do not declare functions that are declared in <strings?.h>.
-
- Wed Jan 3 23:42:26 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * system.h: Include <strings.h>, or <string.h> if USG.
- * cmp.c, du.c, ls.c: Do not directly include <strings.h>.
- * du.c (blocks_to_kb): If BLKSIZE is defined and equal to
- 1024, just return the number of blocks.
- * mv.c (perror): Slight change in "unknown error" message.
- * Makefile: Mention extra HP/UX flag in comment.
-
- Tue Jan 2 01:10:44 1990 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * chmod.c (change_dir_mode): Call xmalloc and free less often,
- and use strcpy instead of sprintf, for speed.
-
- * mkdir.c: New program.
- * Makefile: Add rules for mkdir.
-
- * chmod.c: Move several functions into modechange.c and
- declarations into modechange.h.
- (change_file_mode): Rename from xchmod.
- (change_dir_mode): Rename from xchmoddir.
- * modechange.c: New file of library functions to manipulate file modes.
- * modechange.h: New header file for modechange.c and programs
- that use it.
- * Makefile: Link chmod with modechange.o and include
- modechange.[ch] in distribution.
-
- Sun Dec 31 17:42:55 1989 David J. MacKenzie (djm at rice-chex)
-
- * rm.c (rm): Move misplaced quote.
-
- Fri Dec 29 03:10:51 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * ln.c (main): Recognize new -f and -i POSIX options, and new
- -v option for consistency with cp and mv.
- (do_link): Remove an existing file if -f given, or if -i given
- and confirmed by user. List files being linked if -v given.
- (confirm): New function.
- (usage): Mention new options.
-
- * mv.c (do_move): Slight change in query message.
- (usage): Alphabetize options listing.
-
- * rm.c (yesno): Allow 'Y' as well as 'y' to confirm, for
- consistency with cp and mv.
- (rm): Flush output before reading. Don't print the program
- name in the interactive queries, for consistency with cp and mv.
-
- * ls.c (get_link_name): Instead of guessing the size of the
- link name, use the file size from stat.
-
- * cp.c (main): exit instead of returning, for the benefit of
- some C compilers that don't handle a return from main correctly.
- Recognize new POSIX -f option, `flag_force'.
- (copy): Use flag_force. Fix typo; had S_IFLINK, wanted S_IFLNK.
- * cp-aux.c (usage): Mention -f in message and alphabetize the
- options lists.
-
- * rm.c (rm): Make -f option cause -i option to be ignored, for
- POSIX compatibility.
-
- Thu Dec 28 03:25:28 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * Makefile: Change default binary directory from
- /usr/local/bin to /usr/local/gnubin.
-
- * rm.c (xmalloc): Print memory exhausted message even if -f
- option is given.
-
- * cat.c, cp.c, du.c, ln.c, ls.c, mv.c: Declare alloca, with
- special cases for GNU C and sparc.
-
- * du.c, rm.c (xmalloc, xrealloc): Don't pass a null pointer
- from malloc through if 0 bytes are requested; print an error
- message, on the assumption that the request for 0 bytes is a bug.
-
- Fri Dec 22 23:08:33 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * tail.c (tail_lines): Don't run file_lines on an empty file,
- to avoid spurious error message.
-
- Wed Dec 20 00:33:10 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * du.c (main): Don't truncate a single letter directory name
- if it is not '/'.
-
- * cp.c: Use int instead of uid_t and gid_t; too much trouble
- to figure out which systems have the typedefs.
- * system.h: Remove uid_t and gid_t typedefs.
- Declare alloca if not GNU C or sparc.
-
- * mv.c: Move exit (1) from main to usage.
- (rename): Define if USG, not USG2 (at least this is correct
- for 386/ix).
- (perror): New function if USG defined, because System V perror
- chokes on perror (0).
-
- * cat.c, cmp.c, cp-aux.c, dd.c, du.c, head.c, ln.c, ls.c,
- mv.c, rm.c, tail.c: Combine multiple fprintf calls for usage
- messages into single calls, to make editing the messages easier.
-
- Sat Dec 16 16:06:03 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * Makefile: Add "CC = gcc".
-
- * du.c: Change +count-all option to +count-links.
-
- Fri Dec 8 21:01:29 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * du.c: Change +combine option to +total.
- Define INITIAL_PATH_SIZE.
- Global: fix up some comments and add comments on global
- variables that lacked them.
- (usage): Reflect argument change.
- (main): Use INITIAL_PATH_SIZE.
- (count_entry): Rename from durec (less cryptic). Use simpler
- but functionally equivalent code to determine whether to print
- the entry's size.
-
- Mon Dec 4 14:14:22 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * cat.c (cat): Only number blank lines if nonblank lines are
- also being numbered.
-
- Sat Dec 2 13:52:15 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * du.c: Add descriptive comments to global variable definitions.
-
- Fri Dec 1 19:10:33 1989 David J. MacKenzie (djm at trix)
-
- * cat.c (main): Make numbers_at_empty_lines default to 1 so -n
- option works.
-
- * Makefile: Add -g to default LDFLAGS.
- (clean): Use /bin/rm so we don't get ./rm, in case it was
- compiled for a different architecture.
-
- Wed Nov 29 10:21:53 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * du.c: Remove #include <sys/param.h> because system.h now
- does it.
-
- Tue Nov 28 00:33:22 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * ls.c (decode_switches): Add new +format, +time, and +sort
- options that take strings as args to select output style.
- Decide name printed in version message at compile time instead
- of run time.
- (argmatch): New function to check if a long option arg
- is valid.
- (invalid_arg): New function to complain about an
- invalid arg to a long option and exit.
- (usage): Document new options.
-
- * Makefile (install): Make install depend on all.
-
- Mon Nov 27 13:09:46 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * chmod.c (xchmod): stat -> lstat.
-
- Sun Nov 26 01:28:21 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * cp-aux.c (user_confirm_overwriting): Print message on stdout
- instead of stderr to be consistent with mv. Remove accidental
- second "Usage:" from string.
-
- * mv.c (yes): Put getchar value into an int, not a char.
-
- * Makefile (dist): Include glob.c in tar file.
-
- Sat Nov 25 23:36:54 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * cp-aux.c (usage), cat.c (usage), cmp.c (usage), du.c (usage),
- head.c (usage), tail.c (usage), ls.c (usage):
- Combine separate short and long option usage messages into
- single messages.
-
- * mv.c: Add -v (+verbose) function like cp's to list files as
- they are moved. Indent to make spacing consistent.
- (main): Handle -v option.
- (movefile): Remove unneccessary temporary variable.
- (yes): Flush stdout before reading, as a precaution.
- (do_move): Stat the source file, then if -v was specified,
- print the from and to names. Eliminate later stat.
- (usage): Document -v (+verbose).
-
- Fri Nov 24 02:41:27 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * cp-hash.c: Fix spelling in comments.
-
- * system.h: For USG, define getwd in terms of getcwd. Try to
- get MAXPATHLEN from sys/param.h.
-
- * du.c: Indent to standardize spacing. Don't declare getwd
- because system.h now does it. Fix spelling in comments.
- (xmalloc, xrealloc): New functions to allocate memory with
- error check.
- Global: Use xmalloc and xrealloc instead of checking the
- return value every time.
- Global: Remove casts to void.
- (main): Fix apparent typo: had &, wants &&.
- (durec): Don't simply skip first two directory entries, but
- check for "." and ".." explicitly.
-
- Thu Nov 23 16:41:17 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * rm.c: Rename `no_rmdir_long_opts' to `rm_long_opts'.
- (main): Merge tests for rmdirflag to determine options into
- one if statement. Call usage to print usage message.
- (usage): New function. Mention long options.
- (xmalloc): Change error message. Return of 0 is ok if 0 bytes
- requested (ANSI C).
-
- * chmod.c (describe_change): Display different messages
- depending on whether the file's mode has changed or not.
- (xchmod): Call describe_change with flag telling it whether
- the file's mode has changed.
-
- * cp.c (copy_dir): Instead of always skipping the first two
- entries of a directory to recursively copy, explicitly skip
- "." and ".." when they are encountered, because some NFS
- filesystems have directories without "." and "..".
- (copy_reg): If less than sizeof(int) bytes have been read,
- check for blocks of nulls as chars intead of ints; otherwise,
- the files are zeroed. (But normally use int comparisons for
- speed.)
-
- * cp-aux.c (user_confirm_overwriting): Allow a single RET as a
- negative response. Flush prompt message in case stderr is
- line buffered. Use getchar instead of fgetc.
-
- * cp-hash.c: Include stdio.h instead of defining NULL.
-
- * cp.h: Don't declare fgetc (no longer used).
-
- * Makefile: Move BSD macro defs next to USG defs.
- Add COPYING to tar file, and add release version to tar file and
- directory names. Change LDLAGS typo to LDFLAGS.
-
- Tue Nov 14 09:43:43 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * cat.c (main): Make options more flexible. Add:
- -E (+show-ends), which is like -e but doesn't imply -v;
- -T (+show-tabs), which is like -t but doesn't imply -v;
- -A (+show-all), which is like -ETv.
- Remove complaints about (needlessly) mutually exclusive
- options that were there for BSD compatibility, so options
- accumulate (which is more useful).
- (usage): Document new option syntax.
- (cat): Allow tabs to be shown as ^I even if other control and
- meta characters are not being quoted (so -T works).
-
- * Makefile: Add rules for v, vdir, d, and dir. Remove extra
- rule for cp that defines uid_t and gid_t; now handled in
- system.h. Remove README-cp from tar files; it was replaced by
- cp.texinfo. Change CPPFLAGS to LDFLAGS in default rule for
- making an executable from a .c file. Don't load getopt into dd.
-
- Mon Nov 13 10:08:35 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * ls.c (get_link_name): Take code to prepend leading path back
- out; long output format needs the original link path.
- (make_link_path): New function to return the full path of a symlink.
- (gobble_file): Call make_link_path. Use the full path for
- non-long output formats, the original link path for long format.
-
- Sun Nov 12 15:42:43 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * ls.c (gobble_file): Don't exchange the name of a symlink to
- a directory named on the command line with the name of the
- directory linked to. (`ls -d /usr/tmp' where /usr/tmp was a
- symlink to /var/tmp printed `/var/tmp' instead of `/usr/tmp').
- (get_link_name): For symlinks that are relative paths, prepend
- the leading path from the link name.
-
- Fri Nov 10 18:13:52 1989 Torbjoern Granlund (tege at echnaton.sics.se)
-
- * cp.c: (copy) Don't modify the times for symlinks. The result would
- be to modify the file which the link points to.
- (do_copy) Use stat, never lstat, for the target, even if `-d' was
- specified. Otherwise, it would be forbidden to copy some
- files to a directory via a symlink pointing to the directory.
-
- Sat Nov 11 00:21:32 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * chmod.c (basename): strrchr => rindex.
-
- Thu Nov 9 11:46:51 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * rm.c (rm): Make check for symbolic link conditional on S_IFLNK
- being defined.
-
- Wed Nov 8 12:23:33 1989 David J. MacKenzie (djm at spiff)
-
- * ls.c: Rename +numerid-id option to +numeric-uid-gid.
-
- Thu Nov 9 00:13:03 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * ls.c: Rename +directories-as-files option to +directory.
-
- Wed Nov 8 23:14:10 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * ls.c: Rename more long options and adjust usage message.
- Rename all-files to all. Rename almost-all-files to almost-all.
- Rename question-mark to hide-control-chars. Rename mark-file to
- classify. Rename file-size to size. Make file-type an alias for
- classify. Remove long name for -p.
-
- Tue Nov 7 21:04:04 1989 David J. MacKenzie (djm at spiff)
-
- * ls.c: Make +long a synonym for +verbose and +across an
- alias for +horizontal. Rename +follow-symbolic-links to
- +dereference, and +reverse-sort to +reverse.
- * cmp.c: Rename +byte-info to +verbose and make +quiet an
- alias for +silent.
- * du.c: Rename +combined-args to +combine.
- * head.c, tail.c: Make +silent an alias for +quiet.
-
- Sat Nov 4 00:34:00 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * cp.c: Reorder #includes so it will compile on systems
- that do special things in stdio.h and need it included early.
- * cp-aux.c (usage): Update message to reflect current options.
- * cp.h: Remove duplicate function declarations.
- * system.h: Define uid_t and gid_t, used by cp.
-
- Fri Nov 3 17:37:48 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * head.c, tail.c (main): Add long options using getopt_long and
- modify short option syntax for Posix conformance.
- Exit with status 1 if any system errors occurred.
- Global: Mention the operation that caused system errors in
- error messages.
- (nonfatal_perror, fatal_perror): Modify to take 2 args.
- (atou): New function for parsing arg to -n option.
- (usage): Describe new argument syntaxes.
-
- Tue Oct 31 02:03:32 1989 David J. MacKenzie (djm at spiff)
-
- * ls.c (decode_switches): Add long options, using getopt_long
- instead of getopt.
- (usage): New function to print usage message, mentioning
- long options.
-
- * tail.c (start_chars, start_lines, file_lines): Make return
- type int and return an error indicator to avoid duplicate
- error messages from `dump_remainder'.
-
- * cmp.c, du.c, mv.c, rm.c: Mention long options in usage messages.
-
- * ln.c: Change `+soft' option to `+symbolic'.
- (usage): Mention long option.
-
- * cat.c (main): Add long options.
- (usage): Mention long options.
-
- Mon Oct 30 03:02:47 1989 David J. MacKenzie (djm at spiff)
-
- * head.c, tail.c: Make an open or read error a nonfatal error
- instead of fatal by globally replacing function xread with read and
- checking the return value. Pass the input file name to most
- functions for error messages.
-
- * ln.c: Move variable soft_link outside of main so ln will compile.
-
- Mon Oct 23 12:19:40 1989 David J. MacKenzie (djm at hobbes.ai.mit.edu)
-
- * chmod.c: Clarified some comments, indented file.
- (nonfatal_perror): Renamed from pnonfatal.
- (main): Initialize options (formerly done statically).
- (xchmod): Only call chmod if the mode will actually change.
-
- Wed Oct 18 22:51:29 1989 David J. MacKenzie (djm at spiff)
-
- * cmp.c, cp.c, du.c, ln.c, rm.c: Add terminating element to
- long_options. Make it static in ln.c.
-
- Tue Oct 17 11:53:14 1989 David MacKenzie (djm at wam.umd.edu)
-
- * ls.c: Added -z option to sort by file size. Indented file.
- (compare_size), (rev_cmp_size): New functions to sort by size.
- (compare_name), (rev_cmp_name): Removed 's' from end of the
- function names for consistency.
- (sort_type): Enumerated variable replaces int sort_by_time.
- (format_needs_stat): New variable for gobble_file.
- (decode_switches): Recognize -z option.
- (gobble_file): Replace long calculation with format_needs_stat.
- (sort_type): Use switch statement to choose sort function.
- (copystring): Removed unneeded code.
-
- Tue Oct 17 03:01:17 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * mv.c (main): Typo: had getopt, wants getopt_long.
- Make long_options static, and add terminating element.
- Accept EACCES as alternative to EACCESS.
-
- Sun Oct 15 20:06:33 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * mv.c (do_move): Distinguish lack of write bits
- from other reasons why `access' would fail for writing.
-
- Mon Sep 11 11:09:08 1989 David MacKenzie (djm at wam.umd.edu)
-
- * ls.c: Improved sort speed when -r is given.
- * (sort_files): For reverse sort, instead of calling reverse_files (),
- call the appropriate reverse compare function.
- * (reverse_files): Function removed.
- * (rev_cmp_ctime), (rev_cmp_mtime), (rev_cmp_atime),
- (rev_cmp_names): New functions that compare files in reverse
- order.
-
- Sat Sep 9 12:24:20 1989 David MacKenzie (djm at wam.umd.edu)
-
- * ls.c:
- (decode_switches): Get screen width from kernel if available.
- (gobble_file): Clear file[files_index].linkmode whether or not
- S_IFLNK is defined.
- (print_long_format): Remove code to set file type character for
- symbolic links; filemodestring does that.
-
- Fri Aug 11 19:46:19 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * tail.c: Added support for giving multiple filenames. Renamed -h
- `head of file' switch to -s `start of file', to avoid conflict with
- possible future -h `help' switch. Added -q `quiet' and -v
- `verbose' switches to control printing of filename banners. Let
- system.h handle USG adaptations.
- Removed all register declarations, as gcc can figure that out ok.
- Various functions: `number' is no longer negative if tailing
- from the end of the file. Changed variable `nread' to `chars_read'.
- (start_chars): Renamed from head_chars.
- (start_lines): Renamed from head_lines.
- (write_header): New function to print filename banner.
- (tail_file): New function to open a file and tail it, and
- maybe print a filename banner.
- (main): Moved file opening code to tail_file. Added
- `header_mode' variable and other support for -v and -q and
- multiple input files.
- (file_lines): Removed variable is_end_buffer and associated
- needless convolution.
- (pipe_lines): Renamed `struct buffer' to `struct linebuffer',
- and `BUFFER' to `LBUFFER'. Free all buffers before returning.
- (pipe_chars): Renamed `struct buffer' to `struct charbuffer',
- and `BUFFER' to `CBUFFER'. Free all buffers before returning.
- (start_lines): Renamed `i' to `chars_to_skip' and simplified
- inner loop.
- (usage): Udated to reflect new switches.
-
- Sun Aug 13 22:53:01 1989 Joy Kendall (jak at hobbes.ai.mit.edu)
-
- * ln.c, mv.c, cmp.c, cp.c, du.c, rm.c: Added long-named
- option capabilities by changing calls to "getopt" to be
- calls to "getopt_long", added option structures to each
- program. (didn't modify Makefile yet ...)
-
- Sat Aug 12 11:25:54 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
-
- * ln.c: Delete #include of stat.h. System.h does it.
-
- Fri Aug 11 00:39:53 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ln.c: Major cleanup of comments and code. Moved function
- declarations to top of file. Added #ifdefs for systems without
- symlinks.
- (program): Renamed from `pgm'.
- (linkfunc): Pointer to function returning an int replaces int `dosoft'.
- (main): Renamed `ac' and `av' to `argc' and `argv'. Replaced argument
- parser with one that uses getopt. Moved usage message to usage
- function. Take base of program name. Renamed `where' to `to'.
- Exit with status 1 if any links failed.
- (do_link): Renamed from dolink. Removed unneeded `l' variable.
- Call `linkfunc' instead of checking `dosoft'. Changed error message.
- Renamed `cp' to `old_base'.
- (isdir): Renamed `fn' to `file' and `stb' to `stats'.
- (basename): New function to return base of given path.
- (usage): New function to print usage message and die.
-
- Fri Aug 11 19:46:19 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * head.c: Renamed -p `plain' switch to -q `quiet' (more standard
- meaning), added -v `verbose' switch.
- (main): Added variable `header_mode' and other support for -v.
- Moved the calling of write_header to head_file.
- (usage): Updated to mention -q and -v; added missing ellipsis.
-
- Fri Aug 11 19:46:19 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * system.h: Defined L_SET and L_XTND (used by lseek in tail).
-
- Thu Aug 10 20:03:27 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * head.c: Let system.h figure out the USG adaptations. Revise
- some comments.
- (write_header): Rename variable `first_time' to `first_file'.
- (head_lines): Simplify inner loop to remove redundant tests.
-
- Wed Aug 9 16:17:32 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * mv.c: Let system.h include sys/file.h if needed.
- Declare rindex at top of file.
- (main): Print usage message for unknown option.
- (usage): Clean up message.
-
- Tue Aug 1 11:42:20 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu)
-
- * cat.c (cat): Added "ch = *bpin++;" to test case for
- swallow_empty_lines_after_empty_lines so that cat -s would
- work. I suspect that -s was never tested.
-
- Wed Jul 12 19:51:13 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * cat.c (cat): Move `#ifdef FIONREAD' to prevent an uninitialized
- variable `n_to_read' from being checked if FIONREAD undefined.
-
- Fri Jul 7 19:53:21 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * chmod.c: New program.
-
- Makefile: Added rules for chmod.
-
- GNUmakefile: Added chmod to list of executables.
-
- Tue Jun 27 14:55:04 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * rm.c (rm): Don't confirm to remove symlinks for which access (, W_OK)
- fails.
-
- Thu Jun 22 17:18:05 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * cp.c (copy): When copying directories recursively, recreate all file
- types. When not copying directories recursively, copy the contents of
- all files but directories.
-
- Wed Jun 21 22:46:46 1989 Roland McGrath (roland at hobbes.ai.mit.edu)
-
- * cp.c (copy): When not copying directories recursively, allow copying
- between mismatched file types.
-
- Sat Jun 10 00:19:11 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * ls.c: Don't include sys/file.h; done in system.h.
-
- * cp.c (copy): Shift S_IEXEC to bits for "others". S_WRITE also.
-
- * system.h [BSD]: sys/dir.h, not dir.h.
-
- Thu Jun 8 16:32:26 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * system.h: Include stat.h, so we can test S_IFLNK.
- * *.c: Don't include stat.h redundantly.
-
- Wed Jun 7 14:27:17 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * Makefile: Don't use $^.
-
- * system.h (NLENGTH): New macro for length of name of dir entry.
- (DIRSIZ): Define this on systems that don't.
- (DIRECT): This flag is eliminated.
-
- * ls.c: Conditionalize all code using symlinks on S_IFLNK.
- Let system.h bring in sys/file.h.
- Reinstall new definition of nblocks.
-
- * du.c (durec): Use NLENGTH.
-
- * system.h [no S_IFLNK] : define lstat as stat.
-
- * cp.c (copy): Don't check for symlinks if there are none.
- (copy_dir): Use `struct direct'.
-
- * Makefile (clean): Fix typo.
-
- * dd.c: Include sys/types.h.
-
- * mv.c (do_move): Eliminate busted USG conditional on value of rename.
-
- * mv.c (do_move): Declare local `val'.
-
- Sun Jun 4 22:36:08 EDT 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ls.c: Advanced version to 1.6. Automatically trace symbolic links
- to directories named on command line.
- Removed useless help message and -h switch.
- (struct file): Added `linkmode' field for printing the filetype
- of files that are symbolically linked to.
- (struct pending): Added `realname' field to allow listing of
- directories that are symbolically linked to under the name of
- the symbolic link.
- (help_message): Removed unhelpful help message. Might be
- reinstated later in a more useful form.
- (trace_links_to_dirs): Removed old variable controlled by -D.
- (main): Removed unneeded `thisdir' variable.
- Reorganized listing of pending directories.
- (decode_switches): Removed -h and -D, changed behavior of -L.
- Broke usage message into two strings to fit into code indentation.
- (queue_directory): Added `realname' argument for symbolic links to
- directories. Also added it to linked list.
- (print_dir): Added `realname' argument for symbolic links to
- directories. Use it for printing directory name if nonzero.
- (file_interesting): Renamed from file_interesting_p -- C's not Lisp.
- (gobble_file): Moved code that reads symbolic link name into
- get_link_name. Reorganized so it automatically traces symbolic links
- to directories. Renamed `concat' variable to `path'. Stat files
- that are symbolically linked to for later filetype indicator in
- long listing format.
- (get_link_name): Created a new function with some code taken
- from gobble_file.
- (extract_dirs_from_files): Renamed `concat' variable to `path'.
- Pass linkname to queue_directory. Use malloc and free in loop
- instead of alloca to avoid wasting lots of stack space.
- (print_long_format): Renamed `mbuf' to `modebuf' and `tbuf' to
- `timebuf'. Print filetype indicator on name of file
- symbolically linked to rather than on the link. This is what
- the SunOS 4.0 ls does.
- (print_type_indicator): Changed argument type from `struct file *' to
- `unsigned int' so it can be used to print the mode of files that
- are symbolically linked to.
- (getgroup): Changed argument name from `uid' to `gid'. Changed
- name of `usernum_string' variable to `groupnum_string'.
- (xrealloc): Added "virtual " to error message.
- (xmalloc): Added "virtual " to error message.
- (perror_with_name): Removed unneeded `err' variable.
-
- Tue May 30 18:24:12 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * Makefile (rm, du): Add linking rules to use $(LIBS).
-
- Mon May 29 22:03:19 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * ln.c (dolink): Make arg of perror a null string.
- * mv.c (rename): If USG2, define using link and unlink.
-
- * cp.h: Include system.h. Don't declare alloca.
- * cp.c: Use ST_BLKSIZE. Cast all calls to alloca.
- (main) [USG]: Alternate code for getting group id.
- (copy): Don't use S_IFSOCK if not defined.
- Alternate code for setting file's time.
- (copy_reg): Don't use ftruncate on USG.
-
- * system.h: Define macros for system-independence. Define alloca.
- * du.c: Include system.h. Don't declare alloca, cast its calls.
- (durec): Compensate on USG for lack of st_blksize.
- * cat.c: Include system.h. Use new macro ST_BLKSIZE.
- (cat): Error if need FIONREAD and don't have it.
-
- * cmp.c, dd.c, ls.c, rm.c: Use system.h.
-
- Sat May 27 01:06:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * cat.c: Clean up assignments nested within other things.
-
- Thu May 25 18:54:34 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * cmp.c (cmp): Use POSIX standard for no-options output format.
-
- Tue May 23 12:13:12 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
-
- * mv.c (main), ln.c (main): Added exit(0)'s at the end of each to
- guarantee sucessful (for shell scripts).
-
- Thu May 11 16:42:51 1989 Jay Fenlason (hack at apple-gunkies.ai.mit.edu)
-
- * tail.c (file_lines): Output the entire file if the file fits in
- a single buffer and contains EXACTLY the number of lines asked for.
-
- Fri May 5 18:17:46 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * cmp.c (cmp): Output discrepancies to stdout, not stderr.
-
- Wed May 3 10:43:15 1989 Jay Fenlason (hack at spiff)
-
- * du.c, ln.c, ls.c, mv.c: added #ifdef sparc for alloca stuff.
-
- * Makefile: added 'clean', 'dist' and 'getopt.o' entries.
-
- Thu Mar 2 1989 23:31:27 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ls.c: Moved some non-option variable definitions from amidst
- the option variables to before them. Added -k and -I options.
- Advanced version to 1.4.
- (nblocks): Adjust number of blocks if -k given.
- (indicator_style): An enum, replacing the int print_filetype.
- (kilobyte_blocks): Added variable to show block sizes as
- 1024-bytes instead of 512-bytes.
- (ignore_patterns): linked list replaces the int
- ignore_backup_files with a more general mechanism.
- (main): Moved the clearing of dir_defaulted out of a loop.
- (decode_options): Added support for -k and -I and reimplemented
- -B in terms of -I (calls to add_ignore_pattern).
- (add_ignore_pattern): New function to add an element to the
- list of patterns for files to ignore.
- (file_interesting_p): Replaced check for backup file suffix with
- calls to glob_match on the files in ignore_patterns. ls -aB now
- doesn't display files that match `.*~'.
-
- Mon Feb 20 1989 01:23:52 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ls.c: Modified -C format. Advanced version to 1.3.
- (version_string): Moved comments up to top of file and version
- string into decode_switches ().
- (program_name): Added variable to contain base of name program
- was actually run with (could be one of `ls, dir, d, vdir, v').
- (main): Set program_name. Don't check for null arguments, as
- decode_switches no longer creates them (and hasn't for awhile).
- (decode_switches): Don't decrement line_length by 1. Print
- actual program name in version message and exit afterward.
- Check -w argument for valid values.
- (print_many_per_line): Removed variables longcols and
- start_shortcol and renamed lineno to row and nlines to rows.
- Rewrote algorithm to more closely mimic Unix ls.
- (print_horizontal): Renamed perline to cols and added error
- checks on line length.
- (error): Print actual program name in error message.
- (basename): New function to return name stripped of leading path.
-
- Mon Feb 13 22:50:45 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * chmod.c: Added -c option. Advanced version to 1.2.
- (changes_only): Added new variable to determine whether to
- verbosely show all new modes or only those that actually change.
- Set by -c.
- (xchmod): If changes_only is true, check that the new mode is
- different from the old mode before describing the change.
-
- Sun Feb 12 08:41:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * cat.c: Don't include strings.h.
- (itoa): Deleted.
- (error): Take error code as extra arg; all calls changed.
- Use fprintf, not itoa.
- (main): No error for repeated option.
-
- Sat Feb 11 03:55:44 1989 Torbjorn Granlund (rms at sugar-bombs.ai.mit.edu)
-
- * cat.c (main): Fix how ARGBAD elts are set.
- Leave one extra byte at end of ARGBAD.
- Close the input descriptors, and report errors on close.
-
- Fri Feb 10 05:15:17 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * du.c: Change dirent.h and `struct dirent'
- to sys/dir.h and struct direct.
- (struct htab): Make `hash' field length 1, not 0.
- (hash_insert): Check realloc even if it's to make the block smaller.
-
- Wed Feb 8 07:52:39 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * chmod.mackenzie (main): Added modeind variable to allow
- options to be specified after the mode.
-
- Wed Feb 8 07:52:39 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ls.c (attach): New fn to concat dirname and filename cleanly.
- Called in various places.
- (main): Set EXPLICIT_ARG when calling gobble_file for `.'.
-
- * dd.c: Moved function decl's to top of file.
- Removed commas after last elements in tables.
- (scanargs): changed "bad arg: %s" messages to GNU-getopt-like
- "unrecognized option `%s'".
- (parse_conversion): changed "bad conversion" message to "invalid
- conversion".
- (usage): Added function to print usage message.
-
- Sat Feb 4 00:44:45 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ls.c (enum filetype): Added arg_directory.
- (gobble_file): Give command line dir args type arg_directory
- unless -d selected.
- (extract_dirs_from_files): Only delete command line dir args
- from listing, for Unix compatibility.
- (print_many_per_line): Renamed variables: i to filesno, i1 to
- lineno, max to max_name_length, tem to name_length.
- (print_horizontal): Renamed variables: i to filesno, max to
- max_name_length, tem to name_length.
- (print_with_commas): Renamed variables: i to filesno, col to
- pos, ocol to oldpos.
-
- Fri Feb 3 23:06:33 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * tail.c: moved function decl's to separate lines. moved
- function def'n types to their own lines. advanced version to 2.2.
-
- Fri Feb 3 23:02:40 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * head.c: moved function decl's to one per line. put function
- def'n types on their own lines.
- (main): changed to version 1.1.
- (write_header): changed "<<==" to "<==".
-
- Fri Feb 3 01:32:39 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * ls.c (decode_switches): Default -b for `dir' and `vdir'.
- -q turns off -b. New option -N turns off -q and -b.
-
- * ls.c (print_name_with_quoting): Handle -q flag;
- don't print ctl chars as self unless -q.
- (decode_switches): Set qmark_funny_chars according to -q.
- Default it to 1 if output to tty.
-
- Thu Feb 2 23:38:13 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ls.c (getgroup): changed user_alist to group_alist.
-
- Wed Feb 1 01:04:22 EST 1989 David MacKenzie (edf at rocky2.rockefeller.edu)
-
- * ls.c (print_dir_name): print directory name if 1.
- (main): added code to set print_dir_name, then clear it if
- exactly one dir arg is given or if default dir is used,
- then set it after first dir is listed.
- (print_dir): removed code that sets dir_defaulted and changed
- the variable that controls whether dir names are printed from
- dir_defaulted to print_dir_name.
- (decode_switches): redirected version message to stderr.
-
- Sun Jan 29 00:34:42 1989 David MacKenzie (rms at sugar-bombs.ai.mit.edu)
-
- * ls.c: More include files. Forward-declare more fcns at start.
- (nblock, nlength): Macros to extract file size from `stat' and
- file name length from dir entry. Called where appropriate.
- (numeric_users): 1 if -n spec'd.
- (help_message): help_msg renamed.
- (main): Print blank line between spec'd files and spec'd dirs.
- Variable `dir_defaulted' always set to 1 if no files spec'd.
- Exit instead of returning.
- (decode_switches): Use `isatty', not `TIOCGETP'.
- Initialize numeric_users. Recognize `n' option. `V' is alias for `v'.
- Print help for unrecognized option.
- (print_dir): Don't copystring the file names.
- (clear_files): Don't free linkname if null
- (gobble_file): copystring the name.
- Use a switch to decode the type of file.
- (extract_dirs_from_files): precompute length of DIRNAME.
- Other minor rearrangements.
- (print_type_indicator): fn split out from print_file_name_and_frills.
- (print_long_format): Rename `time' to `when'.
- Print userid and group numerically if `-n'.
- Call print_type_indicator if -F specified.
-
- Wed Jan 25 21:16:43 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * du.c (durec, main): fflush if anything is printed.
-
- Fri Dec 16 13:54:03 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
-
- * tail.c: New version from David MacKenzie uses getopt for new
- option syntax, but also supports the old one. Other cleanups too.
-
- Unk May 0 ........ 1988 Roland McGrath (roland at wheaties.ai.mit.edu)
-
- * ls.c: Implement -g. -B -A does not display .*~.
- Other cleanups.
-
- Unk Jan 0 ........ 1988 Jay Fenlason (hack at wheaties.ai.mit.edu)
-
- * ls.c: Make ls -Ra not loop in ././././...
-
- ... ... .. ........ 1985 Jay Lepreau (lepreau@cs.utah.edu)
-
- * tac.c: Rewritten to allocate memory dynamically, handle string
- bounded segments (suggested by Rob Pike), and handle pipes.
-
- Original line-only version by unknown author; posted Oct
- 1982 by Lou Salkind [of Columbia], not the author.
-
- Local Variables:
- mode: indented-text
- left-margin: 8
- version-control: never
- End:
-